package pagecode.pages.cargarDatos;

import java.util.HashMap;

import javax.faces.component.html.HtmlCommandButton;
import javax.faces.component.html.HtmlCommandLink;
import javax.faces.component.html.HtmlForm;
import javax.faces.component.html.HtmlGraphicImage;
import javax.faces.component.html.HtmlInputHidden;
import javax.faces.component.html.HtmlOutputText;
import javax.faces.component.html.HtmlPanelGroup;
import javax.faces.context.FacesContext;


import model.cargarDatos.CargaInicialModelIni;

import org.ajax4jsf.ajax.html.AjaxPoll;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;

import pagecode.PageCodeBase;

//import com.ibm.faces.component.html.HtmlCommandExButton;
//import com.ibm.faces.component.html.HtmlGraphicImageEx;
//import com.ibm.faces.component.html.HtmlScriptCollector;
import com.stefanini.pe.bbva.mbl.in.utils.Constantes;

public class CargaInicialBeanIni extends PageCodeBase {

	private static Logger logger = Logger.getLogger(CargaInicialBeanIni.class);
//	protected HtmlScriptCollector scriptCollector1;
	protected HtmlForm form1;
	protected HtmlGraphicImage image2;
	protected HtmlOutputText lblUsuario1;
	protected HtmlOutputText lblUsuario;
	protected HtmlOutputText lblFechaPrincipal;
	protected HtmlCommandLink lnkCerrarSession;
	protected HtmlOutputText lblCerrarSesion;
	protected HtmlOutputText lblTitulo;
	protected HtmlCommandLink lnkRegresar;
	protected HtmlOutputText txthplRegresar;
	public String estadoReproceso;
	protected HtmlCommandLink lnkInicio;
	protected HtmlOutputText txthplInicio;
	protected HtmlOutputText serverDate;
	protected AjaxPoll poll;
	protected HtmlGraphicImage imageColor;
	protected HtmlPanelGroup grid;
//	protected HtmlScriptCollector scriptCollector2;
	protected AjaxPoll pollFecha;
	protected HtmlOutputText lblFechaPrincipal_;
	protected HtmlPanelGroup getFechaActual;
	protected String lblError_Text;
	protected CargaInicialModelIni cargaInicialModelIni;
	protected HtmlGraphicImage imagenProcesoCargaInicial;
	protected HtmlOutputText txtError;
	protected AjaxPoll pol2;
	protected HtmlPanelGroup grid2;
	protected HtmlOutputText estadoProceso;
	protected HtmlCommandButton btnReprocesar;
	protected HtmlCommandButton btnEjecutar2;
	protected HtmlInputHidden activarBtn;
	protected HtmlCommandButton btnEjecutar;
	public void onPageLoadBegin(FacesContext facescontext) {
		logger.info("Inicio");
		
		if (!this.isPostBack()) {
			try {
				this.getCargaInicialModelIni().setInicioProceso("0");
				this.getCargaInicialModelIni().setLblError_Text("");
			} catch (Exception e) {
				this.getCargaInicialModelIni().setLblError_Text(Constantes.MSJ_ERROR_INESPERADO);
				logger.error(e.getMessage(), e);
			}
		}
		
		logger.info("Fin");
	}
	
	private boolean isPostBack() {
		logger.info("Inicio");
		
		if (this.getFacesContext().getExternalContext()
				.getRequestParameterMap().get("isPostLog") == null) {
			logger.info("Fin");
			
			return false;
		} else {
			logger.info("Fin");
			
			return true;
		}
	}
	
	public String doBtnEjecutar(){
		HashMap respuesta = null;
		int error=0;
		String mensajeError = null;
		System.out.println("Ejecutar!!!!!!!!!LIMPIEZA");
		try {
			logger.info("Inicio");
			
			this.getCargaInicialModelIni().setLblError_Text("");
			this.getCargaInicialModelIni().setInicioProceso("1");
			respuesta = this.getCargaInicialModelIni().getConfArchivoServiceIni().limpiarTablas();
			this.getCargaInicialModelIni().setImagenProcesoCargaInicial(Constantes.CONTEXT_PATH + "/images/ajaxLoadingG.gif");
			this.getCargaInicialModelIni().isActivarBtn();
			
			if(respuesta != null) {
				error = (Integer)(respuesta.get("po_retorno"));
				mensajeError = (String)respuesta.get("po_mensaje");
					if(error == -1) {						
						this.getCargaInicialModelIni().setLblError_Text(StringUtils.isEmpty(mensajeError) ? Constantes.MSJ_ERROR_INESPERADO : mensajeError);			
						//mensajeError = (String)respuesta.get("po_mensaje");
						logger.error("ERROR:Limpieza Tabla: "  + mensajeError);
					}else{
						this.getCargaInicialModelIni().setLblError_Text(mensajeError);
					}
			} else {
				this.getCargaInicialModelIni().setLblError_Text(Constantes.MSJ_ERROR_INESPERADO);
			}
			//this.getCargaInicialModelIni().setInicioProceso("2");
			this.getCargaInicialModelIni().isActivarBtn();
			//this.getCargaInicialModelIni().setImagenProcesoCargaInicial(Constantes.CONTEXT_PATH + "/images/fondo_blanco.jpg");
			//this.getCargaInicialModelIni().setEstadoProceso("FALSE");//OCULTAR IMG PROCESO
			
			logger.info("Fin");
		} catch (Exception e) {
			this.getCargaInicialModelIni().setInicioProceso("0");
			this.getCargaInicialModelIni().setLblError_Text(Constantes.MSJ_ERROR_INESPERADO);
			logger.error(e.getMessage(), e);
		}
		
		return "";
	}
	

//	protected HtmlScriptCollector getScriptCollector1() {
//		logger.info("Inicio");
//		
//		if (scriptCollector1 == null) {
//			scriptCollector1 = (HtmlScriptCollector) findComponentInRoot("scriptCollector1");
//		}
//		logger.info("Fin");
//		
//		return scriptCollector1;
//	}

	protected HtmlForm getForm1() {
		logger.info("Inicio");
		
		if (form1 == null) {
			form1 = (HtmlForm) findComponentInRoot("form1");
		}
		logger.info("Fin");
		
		return form1;
	}

	protected HtmlGraphicImage getImage2() {
		logger.info("Inicio");
		
		if (image2 == null) {
			image2 = (HtmlGraphicImage) findComponentInRoot("image2");
		}
		logger.info("Fin");
		
		return image2;
	}

	protected HtmlOutputText getLblUsuario1() {
		logger.info("Inicio");
		
		if (lblUsuario1 == null) {
			lblUsuario1 = (HtmlOutputText) findComponentInRoot("lblUsuario1");
		}
		logger.info("Fin");
		
		return lblUsuario1;
	}

	protected HtmlOutputText getLblUsuario() {
		logger.info("Inicio");
		
		if (lblUsuario == null) {
			lblUsuario = (HtmlOutputText) findComponentInRoot("lblUsuario");
		}
		logger.info("Fin");
		
		return lblUsuario;
	}

	protected HtmlOutputText getLblFechaPrincipal() {
		logger.info("Inicio");
		
		if (lblFechaPrincipal == null) {
			lblFechaPrincipal = (HtmlOutputText) findComponentInRoot("lblFechaPrincipal");
		}
		logger.info("Fin");
		
		return lblFechaPrincipal;
	}

	protected HtmlCommandLink getLnkCerrarSession() {
		logger.info("Inicio");
		
		if (lnkCerrarSession == null) {
			lnkCerrarSession = (HtmlCommandLink) findComponentInRoot("lnkCerrarSession");
		}
		logger.info("Fin");
		
		return lnkCerrarSession;
	}

	protected HtmlOutputText getLblCerrarSesion() {
		logger.info("Inicio");
		
		if (lblCerrarSesion == null) {
			lblCerrarSesion = (HtmlOutputText) findComponentInRoot("lblCerrarSesion");
		}
		logger.info("Fin");
		
		return lblCerrarSesion;
	}

	protected HtmlOutputText getLblTitulo() {
		logger.info("Inicio");
		
		if (lblTitulo == null) {
			lblTitulo = (HtmlOutputText) findComponentInRoot("lblTitulo");
		}
		logger.info("Fin");
		
		return lblTitulo;
	}

	protected HtmlCommandLink getLnkRegresar() {
		logger.info("Inicio");
		
		if (lnkRegresar == null) {
			lnkRegresar = (HtmlCommandLink) findComponentInRoot("lnkRegresar");
		}
		logger.info("Fin");
		
		return lnkRegresar;
	}

	protected HtmlOutputText getTxthplRegresar() {
		logger.info("Inicio");
		
		if (txthplRegresar == null) {
			txthplRegresar = (HtmlOutputText) findComponentInRoot("txthplRegresar");
		}
		logger.info("Fin");
		
		return txthplRegresar;
	}

	protected HtmlCommandLink getLnkInicio() {
		logger.info("Inicio");
		
		if (lnkInicio == null) {
			lnkInicio = (HtmlCommandLink) findComponentInRoot("lnkInicio");
		}
		logger.info("Fin");
		
		return lnkInicio;
	}

	protected HtmlOutputText getTxthplInicio() {
		logger.info("Inicio");
		
		if (txthplInicio == null) {
			txthplInicio = (HtmlOutputText) findComponentInRoot("txthplInicio");
		}
		logger.info("Fin");
		
		return txthplInicio;
	}

	protected HtmlOutputText getServerDate() {
		logger.info("Inicio");
		
		if (serverDate == null) {
			serverDate = (HtmlOutputText) findComponentInRoot("serverDate");
		}
		logger.info("Fin");
		
		return serverDate;
	}

	protected AjaxPoll getPoll() {
		logger.info("Inicio");
		
		if (poll == null) {
			poll = (AjaxPoll) findComponentInRoot("poll");
		}
		logger.info("Fin");
		
		return poll;
	}

	protected HtmlGraphicImage getImageColor() {
		logger.info("Inicio");
		
		if (imageColor == null) {
			imageColor = (HtmlGraphicImage) findComponentInRoot("imageColor");
		}
		logger.info("Fin");
		
		return imageColor;
	}

	protected HtmlPanelGroup getGrid() {
		logger.info("Inicio");
		
		if (grid == null) {
			grid = (HtmlPanelGroup) findComponentInRoot("grid");
		}
		logger.info("Fin");
		
		return grid;
	}

//	protected HtmlScriptCollector getScriptCollector2() {
//		logger.info("Inicio");
//		
//		if (scriptCollector2 == null) {
//			scriptCollector2 = (HtmlScriptCollector) findComponentInRoot("scriptCollector2");
//		}
//		logger.info("Fin");
//		
//		return scriptCollector2;
//	}

	protected AjaxPoll getPollFecha() {
		logger.info("Inicio");
		
		if (pollFecha == null) {
			pollFecha = (AjaxPoll) findComponentInRoot("pollFecha");
		}
		logger.info("Fin");
		
		return pollFecha;
	}

	protected HtmlOutputText getLblFechaPrincipal_() {
		logger.info("Inicio");
		
		if (lblFechaPrincipal_ == null) {
			lblFechaPrincipal_ = (HtmlOutputText) findComponentInRoot("lblFechaPrincipal_");
		}
		logger.info("Fin");
		
		return lblFechaPrincipal_;
	}

	protected HtmlPanelGroup getGetFechaActual() {
		logger.info("Inicio");
		
		if (getFechaActual == null) {
			getFechaActual = (HtmlPanelGroup) findComponentInRoot("getFechaActual");
		}
		logger.info("Fin");
		
		return getFechaActual;
	}

	public String getLblError_Text() {
		return lblError_Text;
	}

	public void setLblError_Text(String lblError_Text) {
		this.lblError_Text = lblError_Text;
	}

	public CargaInicialModelIni getCargaInicialModelIni() {
		logger.info("Inicio");
		
		if (cargaInicialModelIni == null) {
			cargaInicialModelIni = (CargaInicialModelIni) getFacesContext().getApplication()
					.createValueBinding("#{cargaInicialModelIni}").getValue(
							getFacesContext());
		}
		
		logger.info("Fin");
		
		return cargaInicialModelIni;
	}
	

	public void setCargaInicialModelIni(CargaInicialModelIni cargaInicialModel) {
		this.cargaInicialModelIni = cargaInicialModel;
	}
	
	protected HtmlGraphicImage getImagenProcesoCargaInicial() {
		if (imagenProcesoCargaInicial == null) {
			imagenProcesoCargaInicial = (HtmlGraphicImage) findComponentInRoot("imagenProcesoCargaInicial");
		}
		return imagenProcesoCargaInicial;
	}

	protected HtmlOutputText getTxtError() {
		if (txtError == null) {
			txtError = (HtmlOutputText) findComponentInRoot("txtError");
		}
		return txtError;
	}

	protected AjaxPoll getPol2() {
		if (pol2 == null) {
			pol2 = (AjaxPoll) findComponentInRoot("pol2");
		}
		return pol2;
	}

	protected HtmlPanelGroup getGrid2() {
		if (grid2 == null) {
			grid2 = (HtmlPanelGroup) findComponentInRoot("grid2");
		}
		return grid2;
	}

	protected HtmlCommandButton getBtnReprocesar() {
		if (btnReprocesar == null) {
			btnReprocesar = (HtmlCommandButton) findComponentInRoot("btnReprocesar");
		}
		return btnReprocesar;
	}

	protected HtmlCommandButton getBtnEjecutar2() {
		if (btnEjecutar2 == null) {
			btnEjecutar2 = (HtmlCommandButton) findComponentInRoot("btnEjecutar2");
		}
		return btnEjecutar2;
	}

		protected HtmlInputHidden getActivarBtn() {
			if (activarBtn == null) {
				activarBtn = (HtmlInputHidden) findComponentInRoot("activarBtn");
			}
			return activarBtn;
		}
	

	public void setActivarBtn(HtmlInputHidden activarBtn) {
		this.activarBtn = activarBtn;
	}

	protected HtmlCommandButton getBtnEjecutar() {
		if (btnEjecutar == null) {
			btnEjecutar = (HtmlCommandButton) findComponentInRoot("btnEjecutar");
		}
		return btnEjecutar;
	}
	
}